Handheld wireless communication devices are very common. They include devices such as cellular telephones, laptop and notebook computers, Personal Digital Assistants (PDAs), satellite communication devices, and tablet computers such as the iPAD, for example. These devices are very useful and convenient, and provide their users with a variety of functionality. For example, many devices are equipped with camera circuitry to allow the users to capture images and/or video. Many devices are also equipped with both long and short-range transceiver circuitry to allow a user to communicate data and information with remote devices over long and short distances in a variety of situations. Generally, two devices must be “paired” to communicate data with each other.
Conventional mechanisms and processes for pairing two devices can be cumbersome. Particularly, bidirectional messaging is usually required between devices (and possibly a server) to authenticate two devices, especially where security is an issue. This takes time and resources. Further, conventional pairing methods are not always able to accurately validate or authenticate another device because of the variables they rely upon for the authentication process. For example, BUMP technology allows two devices to share selected data with each other simply by “bumping” their devices together. Once two devices are “bumped,” they each send their selected data to a network server. To ensure that only the intended devices receive each others' data, BUMP utilizes a matching algorithm located on the network server to pair the device. Specifically, the matching algorithm compares the geographical locations of the BUMPing parties, as well as the time of contact, and sends the selected content to each of the intended devices based on the outcome of that comparison. If for some reason the algorithm cannot determine whether two devices should be paired, the server simply sends a request to each device to have the users perform another BUMP.
BUMP technology is useful, but limited. For example, security is an issue given its method of pairing. Further, BUMP does not work well for pairing more than two devices at a time. This is because of the difficulty the matching algorithm has in identifying different devices when many devices are co-located in the same area. Perhaps most limiting, however, is that because BUMP is a time-position oriented application, it operates based on whether the devices are co-located when the bumping contact occurs. BUMP is not concerned with, and cannot operate based on, the context of an application executing on the device being BUMPed.